#ifndef QxAbstractPlugin_HPP
#define QxAbstractPlugin_HPP

#include "base_global.h"

#include <QObject>
#include <QtPlugin>

class BASESHARED_EXPORT QxAbstractPlugin : public QObject
{
  Q_OBJECT;

public:

  QxAbstractPlugin();
  virtual ~QxAbstractPlugin();

  virtual QString name() const=0;
  virtual QString description() const=0;

  const QString& absoluteFilename() const;
  void setAbsoluteFilename( const QString& );

  virtual QWidget* createMainWidget() const;

private:

  QString m_absoluteFilename;
};

#endif // QxAbstractPlugin_HPP